package ioread

import (
	"fmt"
	"io"
)

type MyReader struct {
}

func (r *MyReader) Read(b []byte) (n int, err error) {
	n = len(b)

	for i := range b {
		b[i] = 'A'
	}

	return
}

// TODO: 为 MyReader 添加一个 Read([]byte) (int, error) 方法。

func myReader() {
	r := &MyReader{}
	b := make([]byte, 8)
	for {
		n, err := r.Read(b)
		fmt.Printf("n = %v err = %v b = %v\n", n, err, b)
		fmt.Printf("b[:n] = %q\n", b[:n])
		if err == io.EOF {
			break
		}
	}
}
